想象你正在操作一个高频交易算法。你的投资组合有严格的风险上限。一个“硬”约束就像紧急刹车——一旦触及上限,系统就会立即停止,可能引发逻辑崩溃。在凸优化中,我们更倾向于使用“软”预警系统。我们将指示函数的锯齿状、二值化悬崖替换为平滑的对数“障碍”,随着我们逐渐接近边界,对目标函数的惩罚会不断加大。这使得优化器能够“感知”约束即将来临,并平稳调整其轨迹,而不会越界。
不可微性问题
标准的约束优化问题定义如下:
$$\text{最小化 } f_0(x) \\ \text{约束条件 } f_i(x) \leq 0, \quad i = 1, \ldots, m \\ Ax = b$$
理论上,我们可以使用指示函数 $I_-(u)$ 将约束融入目标函数。然而,$I_-(u)$ 对微积分而言是个难题:
$$I_-(u) = \begin{cases} 0 & u \leq 0 \\ \infty & u > 0 \end{cases}$$
由于它在边界处不连续且梯度无穷大,我们无法计算牛顿法所需的海森矩阵(Hessian) 牛顿法。因此,我们需要一个可微的替代函数。
对数平滑
替代函数
我们使用以下函数来近似 $I_-(u)$:
$$\hat{I}_-(u) = -(1/t) \log(-u), \quad \text{定义域 } \hat{I}_- = -\mathbf{R}_{++}$$
其中,$t > 0$ 是一个决定近似精度的参数。$t$ 越大,该障碍函数就越接近真实的指示函数。
内部性约束
与活动集方法不同,此方法要求每个迭代点 $x$ 均保持 严格可行 ($f_i(x) < 0$)。由于对数在非正数值下无定义,它形成了一道“不可穿透”的屏障,使搜索始终停留在可行域的内部。
🎯 定义:内点法
内点法:通过将一系列等式约束问题应用牛顿法,求解包含不等式约束的凸优化问题的方法。